package com.iris.live.services.services;

import com.iris.live.services.models.PageData;
import com.iris.live.services.models.ResultData;
import com.iris.live.services.vo.report.MarketIntegratedVO;

import java.util.List;
import java.util.Map;

/**
 * Created by lusong on 2016/12/9.
 */
public interface MgtReportService {
     List getSalesReport(Map info ) throws Exception;

    List getFinanceReport(Map info) throws Exception;

    List getInsReport(Map info) throws Exception;

    List getInsDefeatedResonRpt  (Map info) throws Exception;

    List getFinDefeatedResonRpt(Map info ) throws Exception;

    List getDCCChannelClue(Map info) throws Exception;

    List getAfterMarketBusiness(Map info) throws Exception;

    List getAfterMarketProductInstallation(Map info) throws Exception;

    List getSalesFinanceReoprt (Map info) throws Exception;

    List getInsuranceSummary(Map info) throws Exception;

    List getSalesDailyReport (Map info) throws Exception;

    PageData getMargetingActivityReoprt (Map info) throws Exception;

    List getSaleGoal(Map info) throws Exception;
    class MgtSalesReport {
        public String displayType;//默认1    横向展示方式. 只能取以下几个值之一.1:按时间展示;2.按地域展示
        public String selectYear;//默认当前年 限制查询数据的年份
        public String selQuarter;// 限制查询数据所属的季度
        public String selMonth;// 限制查询数据所属的月份
        public String selRegionCode;//默认all  限制查询数据所属的大区
        public String selPMACode;//默认all  限制查询数据所属的PMA(若该参数值为其他PMA,则返回PMA为空经销商数据)
        public String selDealerCode;//默认all  限制查询数据所属的经销商
        public String selBrandSumName;// 按该参数值对数据进行合计.各个组合由'|'分隔,格式如:|MM+MB|MM+AMG|MB+AMG
        public String fr_username;//  根据登录用户控制需要展示的数据
    }

    List getSalesFunnel(Map info) throws Exception;

    List getFinanceFunnel(Map info) throws Exception;

    Map<String,Object> getStockForecast(Map info) throws Exception;

   List getMarketIntegratedReport (Map info) throws Exception;;

    List getBuildPurchaseReportAll(Map info) throws Exception;

    List getCRMSurveyReport(Map info) throws Exception;

    Map<String, Object> getGrossProfitForecastReport(Map info)throws Exception;
    ResultData updateMarketIntegrated(List <MarketIntegratedVO> infoList,String permit,String year);

    List getFinancialServiceFeeRateReport( FinancialServiceFeeRateReport reportVo) throws Exception;

    class FinancialServiceFeeRateReport{
        public String selectYear;//默认当前年 限制查询数据的年份
        public String selQuarter;// 限制查询数据所属的季度
        public String selMonth;// 限制查询数据所属的月份
        public String selRegionCode;//默认all  限制查询数据所属的大区
        public String selPMACode;//默认all  限制查询数据所属的PMA(若该参数值为其他PMA,则返回PMA为空经销商数据)
        public String selDealerCode;//默认all  限制查询数据所属的经销商
        public String username;
        public Double beginRatio;
        public Double endRatio;
    }


}
